首页/ 学科题库/ git/ git diff 查看差异
git 实战教程

git diff 查看差异

2026-05-11 约 6 分钟 juanwangdev

git diff 查看差异

git diff 命令显示文件内容的变更差异,帮助理解具体改动。

基本用法

Bash
# 工作区 vs 暂存区(未暂存的变更)
git diff

# 暂存区 vs 最新提交(已暂存的变更)
git diff --staged
git diff --cached

# 工作区 vs 最新提交(所有变更)
git diff HEAD

输出示例

Bash
$ git diff README.md
diff --git a/README.md b/README.md
index a1b2c3d..e4f5g6h 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 # Project Name

+## Introduction
 This is a sample project.

-Old line
+New line

对比说明

符号含义
---原文件(变更前)
+++新文件(变更后)
-删除的行
+新增的行
@@变更位置(行号范围)

对比不同版本

Bash
# 对比两个提交
git diff <commit1> <commit2>

# 对比指定提交
git diff abc123 def456

# 对比当前与某次提交
git diff abc123

# 对比两个分支
git diff main feature

指定文件对比

Bash
# 对比特定文件
git diff -- filename

# 对比某文件的两次提交
git diff abc123 def456 -- filename

# 查看暂存区特定文件
git diff --staged -- filename

常用选项

Bash
# 只显示文件名
git diff --name-only

# 显示统计信息
git diff --stat

# 忽略空白变化
git diff -w
git diff --ignore-all-space

# 显示单词级别差异
git diff --word-diff

要点总结

  1. git diff 查看未暂存变更
  2. git diff --staged 查看已暂存变更
  3. git diff HEAD 查看所有变更
  4. git diff commit1 commit2 对比两次提交
  5. --stat 显示统计,--name-only 只显示文件名
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 git commit 提交更改 下一篇 → git init 初始化仓库